home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 03 - 1987 / 03.04 Apr 87 / MPW macros / Pas_Macros < prev    next >
Encoding:
Text File  |  1986-12-15  |  2.7 KB  |  113 lines  |  [TEXT/MPS ]

  1.  
  2. AddMenu Pascal 'top/1' 'find • "{active}"'
  3. AddMenu Pascal 'bottom/2' 'find ∞ "{active}"'
  4. AddMenu Pascal 'divider/-' ∂
  5. 'echo "∂{--------------------------------------------∂}"'
  6. AddMenu Pascal '(-' ''
  7.  
  8. AddMenu Pascal 'Program' ∂
  9. 'begin;∂
  10.     set divline "∂{------∂}";∂
  11.     echo "Program ^Skeleton^;";∂
  12.     echo "∂{ --purpose-- ∂}∂n";∂
  13.     echo "USES Memtypes, Quickdraw, OSIntf, ToolIntf;∂n";∂
  14.     echo "CONST∂n∂nTYPE∂n∂nVAR∂n∂n";∂
  15.     echo "∂{ Forward Declarations ∂}∂n";∂
  16.     echo "{divline}∂n∂{ MAIN ∂}∂n{divline}∂n";∂
  17.     echo "BEGIN∂nEND. ∂{ program ∂}";∂
  18.     find \^Skeleton^\ {active};∂
  19.  end'
  20.  
  21. AddMenu Pascal 'Procedure/P' ∂
  22. 'begin;∂
  23.     echo "∂{ --purpose-- ∂}";∂
  24.     echo "PROCEDURE ^Proc^ ∂( parms ∂);";∂
  25.     echo "CONST∂n";∂
  26.     echo "TYPE∂n";∂
  27.     echo "VAR∂n";∂
  28.     echo "BEGIN∂nEND; ∂{ procedure ∂}";∂
  29.     find \^Proc^\ "{active}";∂
  30.  end'
  31.  
  32. AddMenu Pascal 'Function' ∂
  33. 'begin;∂
  34.     echo "∂{ --purpose-- ∂}";∂
  35.     echo "FUNCTION ^Func^ ∂( parms ∂) : ReturnedType;";∂
  36.     echo "CONST∂n";∂
  37.     echo "TYPE∂n";∂
  38.     echo "VAR∂n";∂
  39.     echo "BEGIN∂nEND; ∂{ procedure ∂}";∂
  40.     find \^Func^\ "{active}";∂
  41.  end'
  42.  
  43. AddMenu Pascal '(-' ''
  44.  
  45. AddMenu Pascal 'For/4' ∂
  46. 'begin;∂
  47.    echo "FOR x := st TO end DO";∂
  48.    find \x\ "{active}";∂
  49.    cut !1  "{active}"; find \x\ "{active}";∂
  50.  end'
  51.  
  52. AddMenu Pascal 'If/I' ∂
  53. 'begin;∂
  54.    set lvl `{ask}`;∂
  55.    set t `evaluate {lvl} * {tab}`;∂
  56.    echo "IF rel∂nTHEN∂n  BEGIN∂n  END; ∂{ then ∂}";∂
  57.    find \rel\ "{active}";∂
  58.    adjust -l {t} /THEN/ "{active}";∂
  59.    adjust -l {t} /BEGIN/:/END/ "{active}";∂
  60.    find \rel\ "{active}";∂
  61.  end'
  62.  
  63. AddMenu Pascal 'If_Else/E' ∂
  64. 'begin;∂
  65.    set lvl `{ask}`;∂
  66.    set t `evaluate {lvl} * {tab}`;∂
  67.    echo "IF rel∂nTHEN∂n  BEGIN∂n  END ∂{ then ∂}";∂
  68.    echo "ELSE∂n  BEGIN∂n  END; ∂{ else ∂}";∂
  69.    find \rel\ "{active}";∂
  70.    adjust -l {t} /THEN/ "{active}";∂
  71.    adjust -l {t} /BEGIN/:/END/ "{active}";∂
  72.    adjust -l {t} /ELSE/ "{active}";∂
  73.    adjust -l {t} /BEGIN/:/END/ "{active}";∂
  74.    find \rel\ "{active}";∂
  75.  end'
  76.  
  77. AddMenu Pascal 'Begin_End/B' ∂
  78. 'begin;∂
  79.    set lvl `{ask}`;∂
  80.    echo "  BEGIN∂n  END; ∂{ begin ∂}";∂
  81.    adjust -l `evaluate {lvl} * {tab}` \END\:/∂}/ "{active}";∂
  82.    cut !1 "{active}";∂
  83.    find ¡1¡1 "{active}";∂
  84.  end'
  85.  
  86. AddMenu Pascal 'Repeat/3' ∂
  87. 'begin;∂
  88.    set lvl `{ask}`;∂
  89.    echo "REPEAT∂nUNTIL flag;";∂
  90.    adjust -l `evaluate {lvl} * {tab}` \UNTIL\ "{active}";∂
  91.    cut !1 "{active}";∂
  92.    find ¡1¡1 "{active}";∂
  93.  end'
  94.  
  95. AddMenu Pascal 'While/6' ∂
  96. 'begin;∂
  97.    set lvl `{ask}`;∂
  98.    echo "WHILE x  DO";∂
  99.    echo "  BEGIN∂n  END; ∂{ while ∂}";∂
  100.    cut !1  "{active}"; find \x\ "{active}";∂
  101.    adjust -l `evaluate {lvl} * {tab}` /BEGIN/:/END/ "{active}";∂
  102.    find \x\ "{active}";∂
  103.  end'
  104.  
  105. AddMenu Pascal 'Case/5' ∂
  106. 'begin;∂
  107.    set lvl `{ask}`;∂
  108.    echo "CASE x OF∂nEND; ∂{ case ∂}";∂
  109.    adjust -l `evaluate {lvl} * {tab}` \END\:/∂}/ "{active}";∂
  110.    cut !1 "{active}";∂
  111.    find \x\ "{active}";∂
  112.  end'
  113.